Many computing systems and electronic devices include a graphics processing unit that creates sequences of images displayed to a user on a screen or display. Technological advancements have resulted in higher resolution displays that are capable of producing sharper and more detailed images to users. As a result, image resolution has typically been increased to prevent the perception of poor image quality by users viewing images on the higher resolution displays.
The increased image resolution has resulted in increased loads for graphics processors. These load increases may be even higher for more sophisticated image processing functions, such as three dimensional rendering and the creation of reflections, shadows, and other effects involving reflective and/or transparent surfaces. In some instances, it may be desirable to quickly display realistic, high resolution reflections, shadows, and other three dimensional effects of objects located near reflective or transparent surfaces of other objects as part of a background process using minimal computing resources.
For example, an application or operation system may cause one or more icons or other objects to be displayed on a screen as though they are located on top of a glass shelf. To improve image quality and make it appear as though the objects are actually located on top of a glass shelf, a reflection and shadow of the objects on the glass shelf may also be created.
In the past, these reflection, shadows, and other three dimensional effects were created using very simple image processing techniques, such as directly applying a uniform blur to a mirror image of the object to create a reflection effect, or darkening and resizing a copy of the object to create a shadow effect. These techniques were computationally efficient and could be quickly performed as part of a background process using minimal resources. However the resulting image quality of these generated effects was poor and inadequate for use on higher resolution displays. While more sophisticated three dimensional image processing techniques could be applied to create more realistic effects, these image processing techniques are too computationally intensive to be performed quickly and efficiently as background processes.
There is thus a need to quickly and efficiently generate high resolution three dimensional image processing effects for use with higher resolution displays.